<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>

  <TITLE>CS631 -- Advanced Programming in the UNIX Environment</TITLE>
  <STYLE type="text/css">
  body {
  background-color: #FFFFFf;
  }
  </STYLE>
  <STYLE type="text/css">
  li.c1 {list-style: none}
  </STYLE>
</HEAD>

<BODY>
  <TABLE border="1" align="center" cellpadding="15">
    <TR>
      <TD valign="top">
        <H2>CS631 -- Advanced Programming in the UNIX Environment - Final Assignment</H2>

        <H3>Write a simple "encrypted" shell</H3>

<h4>Summary</h4>

<p>In this assignment you will write a tool that
allows the user to executed encrypted data.  This
exercise will reinforce some of the earlier lectures
from the class and combine it with the practical
security lessons in the last class.</p>

<h4>Problem assignment</h4>

<p>Write a simple non-interactive "encrypted shell" as described in 
<a href="crysh.1.pdf">this manual page</a>.  As usual, your homework
submission / program will:</p>

<p>
<ul>
<li>follow the <a href="hw">general homework guidelines</a></li>
<li>be written in plain C</li>
<li>consist of multiple files</li>
<li>include a Makefile</li>
<li>follow the principle of least surprise for the user</li>
<li>not generate any output other than that which was requested</li>
<li>generate meaningful error messages (to stderr) when appropriate</li>
<li><em>not</em> add additional features that are not in the
specification</li>
<li>compile without warnings (<tt>-Wall -Werror
-Wpedantic</tt>)</li>
<li>work on NetBSD 7.x</li>
</ul>
</p>

<h4>Testing</h4>

<p>The manual page includes a list of examples.  You should consider those
basic minimum functionality that your shell should provide as shown
there.</p>

<p>In your README, please elaborate on what other tests you
considered.</p>


<h4>Deliverables and Due Date</H4>

<p>You will submit a single tar archive named
<em>username</em>-crysh.tar that will extract into a
directory named after your username. In that directory
will be all your files together with a
<tt>Makefile</tt> as well as a <tt>README</tt>,
containing at the very least a description of what
challenges you overcame.</p>

<p> The due date for this assignment is 2017-12-18 16:00:: EST. Please attach
the file to an email sent from your <tt>@stevens.edu</tt> email address to
<a href="mailto:jschauma@stevens.edu?subject=[CS631]
crysh">jschauma@stevens.edu</a> with a subject of "[CS631] crysh".</p>

        <hr>
        [<a href="index.html">Course Website</a>]
</BODY>
</HTML>
